@南馆潇湘
3年前 提问
1个回答

snort如何进行入侵检测

Ann
2年前

snort对于入侵检测的方法也是通过在网络TCP/IP的5层结构的数据链路层进行抓取网络数据包,然后将捕获的数据包送到包解码器进行解码,解码后通过插件进行解码,过滤,预处理后进行规制的建立及根据规则进行检测,检测数据包中是否包含有入侵行为,该过程简单来说就是先抓取各类数据包然后对数据包分类解码,通过插件将数据包重新组合为一类数据包然后对比规则库。

详细过程如下:

  • Snort通过在网络TCP/IP的5层结构的数据链路层进行抓取网络数据包,抓包时需将网卡设置为混杂模式,根据操作系统的不同采用libpcap或winpcap函数从网络中捕获数据包;

  • 将捕获的数据包送到包解码器进行解码。网络中的数据包有可能是以太网包、令牌环包、TCP/IP包、802.11包等格式。在这一过程包解码器将其解码成Snort认识的统一的格式;

  • 将数据包送到预处理器进行处理,预处理包括能分片的数据包进行重新组装,处理一些明显的错误等问题。预处理的过程主要是通过插件来完成,比如Http预处理器完成对Http请求解码的规格化,Frag2事务处理器完成数据包的组装,Stream4预处理器用来使Snort状态化,端口扫描预处理器能检测端口扫描的能力等;

  • 对数据包进行了解码,过滤,预处理后,进入了Snort的最重要一环,进行规则的建立及根据规则进行检测。规则检测是Snort中最重要的部分,作用是检测数据包中是否包含有入侵行为。